import entity.Book;

import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class Test {
    public static void main(String[] args) {
      List<Book> books=BooksManage.RanPut();

      //自然排序:在实体类中继承Comparable接口，并实现compareTo方法
      //然后利用 Collections.sort 方法去调用
        CustomOrder(books);
    }

    public static void NaturalOrder(List<Book> list){
      Collections.sort(list); //自然排序
        for (Book b:list) {
            System.out.println(b);
        }
    }

    public static void CustomOrder(List<Book> list){
        /*方法一：普通方法*/
        Comparator comparator1=new Comparator<Book>() {
            public int compare(Book b1,Book b2){
                /*按照日期降序排序*/
                if(b1.getDate().compareTo(b2.getDate())!=0){
                    return b1.getDate().compareTo(b2.getDate());
                }
                return 0;
            }
        };
        Collections.sort(list,comparator1);
        for (Book b:list) {
            System.out.println(b);
        }

        /*方法二*/
//        Comparator<Book> comparator2=(b1,b2) ->{
//            /*按照日期降序排序*/
//            if(b1.getDate().compareTo(b2.getDate())!=0){
//                return b1.getDate().compareTo(b2.getDate());
//            }
//            return 0;
//        };
//        Collections.sort(list,comparator2);//方法2调用！！！！
    }
}
